home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Meeting Pearls 4
/
Meeting Pearls Vol. IV (1996)(GTI - Schatztruhe)[!].iso
/
Pearls
/
etech
/
Spice
/
spice3f5r3.readme
< prev
next >
Wrap
Text File
|
1996-09-04
|
10KB
|
276 lines
Short: Analog Ckt. Simulator r1.3
Uploader: henric@zoom.com
Author: henric@zoom.com
Type: misc/sci
Replaces: misc/sci/spice3f5r2*
Spice3f5 Amiga Release 1.3
spice3f5r3_000.lha
Spice for any CPU.
spice3f5r3_020.lha
Spice with inline FPU math for 020+
What is this?
This is a full port of Spice3f5. All device models and analyses in the 3f5
distribution have been included. The full simulator has been built, but
the stand-alone "nutmeg" has not (nutmeg is spice without any simulation
capabilities). "proc2mod" and "multidec" have been included and seem to
generate reasonable output.
What's new?
-- Recompiled with SAS/C 6.56.
-- The "000" version now uses the standard math libraries instead
of the IEEE libraries.
-- New email address for author.
-- Bug fixes.
Requirements
-- AmigaOS 2 or better.
-- A few megs of ram. (I don't know really. The full executable
is about a megabyte.)
Supported features
The lite version supports the following devices:
asrc: arbitrary voltage/current source
bjt: bipolar junction transistor
cap: capacitor
cccs: current-controlled current source
ccvs: current-controlled voltage source
csw: current controlled switch
dio: diode
ind: inductor
isrc: current source
jfet: Junction FET
mos1: MOS, simplest analytic model, fastest
mos2: MOS, middle complexity and accuracy
mos3: MOS, most complicated, most accurate
res: resistor
sw: switch
urc: uniform RC line
vccs: voltage-controlled current source
vcvs: voltage-controlled voltage source
vsrc: voltage source
The full version supports these additional devices:
bsim1: detailed MOS model
bsim2: detailed MOS model, revised version of bsim1
ltra: lossy transmission line
mes: MES FET (GaAs)
mos6: MOS, new, fast analytic, short-channel
tra: lossless transmission line
The lite version supports these analyses:
op: DC operating point
dc: DC transfer curve
tf: Small signal transfer function
ac: AC (frequency domain)
tran: transient
The full version supports these additional analyses:
pz: pole-zero
disto: distortion
noise: noise
sense: sensitivity
Installation
Just decompress it. It's ready to run. No silly assigns or anything!
(Well, maybe add the "bin" directory to you path. Also, renaming the
binaries saves some typing.)
As a quick "getting started" guide, see the file "spice.transcript".
If you are tight on memory, try the "lite" version of the executable. It
does not contain some device models, and the more esoteric analyses are not
supported.
Documentation
For spice in general...
Online help is available with the "help" command. An AmigaGuide version of
the same document can be found in the directory "SpiceGuide" (courtesy Ron
Charlton). The alias "aghelp" is defined in the initialization file
(lib/scripts/spinit). It will load the .guide file from the location
specified in the spinit file; see the "spinit" file to set the path to
match your configuration.
The full docs in PostScript format are available by anonymous ftp from
"ic.eecs.berkeley.edu" or "ilpsoft.eecs.berkeley.edu". This site also
contains more example circuits.
For this port...
There is a plot screen that opens behind your other screens. The fact that
LAmiga-M/N can be used to flip screens will probably prove useful.
I have added a few new variables:
hcopylinewidth When this variable is set, PostScript output
will contain a "setlinewidth" directive.
screenwidth If these are not set, then Intuition will
screenheight pick some reasonable values for you.
screendepth If this is not set, then the depth will be
copied from the default public screen (Note:
Spice will not use more than 20 colors, so I
limit the depth copied from the default
public screen to 5 bit-planes. However, a
depth specified in the "screendepth"
variable will _not_ be altered in any way;
it is passed directly to OpenScreen().)
screenmode This is a hexadecimal number that is passed
to OpenScreenTags() as the DisplayID. When
this variable is not set, the DisplayID is
copied from the default public screen.
fontname Take a wild guess.... Like the others if
fontheight either or both are not set then defaults
will be used (XEN.font/8).
See the file "lib/scripts/spinit" for more information about these
variables.
Known problems
Spice makes sure that the stack is 64k or greater, but this is not always
enough. If you have a crash, try increasing the size of the stack. If it
still crashes, please send me a copy of the relevant source file(s) and a
description of how to reproduce the problem.
Repeated uses of "iplot" in the same session seem to have odd results.
Nothing explodes, but the resulting graphs can be rather strange.
The internal pager could be more clever about the size of the shell window.
There is apparently a bug in OpenScreen that causes the default system font
to be closed when OpenScreen fails. This is not a problem as long as the
total number of "open" instances of that font is greater than the number of
failed "OpenScreenTags()" calls.
Notes
The 020+ executables were actually optimized for the 040. I have been
assured by the SAS folks that the executables will run just fine on the
68020 and the 68030.
Spice expects some files to be in "progdir:/lib" so if you move files
around, keep this in mind. Some AmigaDOS magic makes "progdir:" point to
there directory where the program is located. (If spice doesn't find these
files then it will complain, but all should work anyway--except for the
online help). You can change where the program looks for the help file
with a "set helppath=a:b/c/d". The "spinit" file is a good place to put
this.
All the executables are "pure" and can be made resident (one must either
use "resident <filename> pure" or set the "p" bit on the executables since
"lha" does not preserve the pure bit). However, if you make spice resident
then "progdir:" does not work. To get around this problem use these
environment variables:
setenv SPICE_LIB_DIR "wherever:you/wantyour/lib/dir/to/be"
setenv SPICE_EXEC_DIR "where:the/spice/executable/is"
There are other environment variables that spice looks for, including:
SPICE_NEWS, SPICE_HELP_DIR (this is another way to deal with the problem
described in the previous paragraph), SPICE_SCRIPTS, SPICE_EDITOR,
SPICE_ASCIIRAWFILE.
If you have the environment variable "HOME" set, then "cd" will change the
current directory to $HOME when given a null argument.
And Thanks to...
-- SAS for making a great compiler.
-- Those of you who have taken the time to write with both
compliments and complaints.
History
1.0 (Initial release)
1.1
-- Added new variable "hcopydevwidth" because PostScript output
looked like it was drawn with crayons.
-- Updated physical constants to Nov. 86 CODATA Bulletin. (Not
that a couple parts per million matter, but the FPU will be
using all it's bits anyway, so why not?)
-- Commented out all "ScreenToFront()" and "ScreenToBack()"
calls. You have to find the plot yourself now, but I think it
much less annoying.
-- Fixed a problem with "sourcepath". The "source" command will
now try looking in the current directory.
-- Screen colors are now set to something more reasonable (not
perfect yet).
-- Fixed a minor problem with Smith plots. This required
rewriting some of Berkeley's wonderful code. ...and this
led to a little problem in my own code... and then to some
more in Berkeley's.
-- Plots now use JAM1 instead of JAM2.
-- The "slowplot" variable is not ignored anymore (i.e., it
works).
-- New screen variables: "screenwidth", "screenheight",
"screendepth", and "screenmode".
-- The current directory is now restored upon exit (if it was
ever changed).
-- Added version strings to all executables.
-- Plotting real vectors on polar plots used to fake complex
vectors by using the real value for both the real and
imaginary parts. The imaginary part is now set to zero
instead.
1.2
-- Much better CTRL-C handling (other than simply exiting).
-- Fixed a problem with pz searches. I made the algorithm more
robust should it screw up; in the process I ran into a bug in
the C= IEEE libraries.
-- Fixed a little problem when the screen font and the plot font
were not the same height.
-- Added variables to control fonts: "fontname" and "fontheight".
-- "Press return..." prompting now appears on both the plot
screen and in the console window.
-- Added experimental variable to control pz analysis:
"pzniterlim" and "pzusesym2". They don't seem to do much...
-- CR-LF combinations in source files should no longer cause
confusion.
-- ASRC model working much better now (Enforcer hits appear to be
gone).
-- Fixed Enforcer hit when setting some variables
("program"/"rawfile").
-- Recompiled without "NOVM" flag, yielding much better
convergence (at least for the ltra examples).
1.3
-- Added list of supported devices/analyses to this file.
-- Updated my email address.
-- Changed math library of "000" version from IEEE to "standard".
-- Recompiled with SAS/C 6.56.
-- PostScript output no longer produces redundant "moveto"
directives.
-- International characters are no longer mangled.
-- Some imperfections in the online help files were fixed (both
in spice.txt and spice3f4.guide).
-- Miscellaneous bug fixes (i.e., I've been sloppy about updating
this file since the r2 release and I simply don't remember).
Suggestions and Bugs to...
Henric Jungheim <henric@zoom.com>